package jwr.basic;

import java.util.Scanner;

import jwr.model.SungJukVO;
import jwr.service.ArraySungJuk;
import jwr.service.JDBCSungJuk;

public class J19_SungJuk_v6 {
	
	private static final String TITLE = "JDBC를 이용한 성적프로그램";
	private static final String MENU = ">>> 추가(1) 조회(2) 수정(3) 삭제(4) 종료(0)";
	private static final String ADDMSG = "이름, 국어, 영어, 수학 순으로!";
	private static final String MODMSG1 = "수정할 데이터의 번호를 입력";
	private static final String MODMSG2 = "수정할 데이터의 이름,국어,영어,수학 순으로 입력";
	private static final String DELMSG = "삭제할 데이터의 번호를 입력";
	
	public static void main(String[] args) {
		// 오라클 데이터 베이스를 이용한 성적 처리
		// ArraySungjuk 대신 JDBCsungjuk으로 변경
		JDBCSungJuk sjsrv = new JDBCSungJuk();
		Scanner sc = new Scanner(System.in);
		System.out.println(TITLE);
		while(true){
			System.out.print(MENU);
			switch(sc.nextInt()){
				case 0: sc.close(); System.exit(0);break;
				case 1:addSungJuk(sc, sjsrv);break;
				case 2:showSungJuk(sjsrv);break;
				case 3: modifySungJuk(sjsrv,sc); break;
				case 4: removeSungJuk(sjsrv,sc); break;
			}
		}
		
	} //main
	
	public static void addSungJuk(Scanner sc, JDBCSungJuk sjsrv){
		System.out.print(ADDMSG);
		SungJukVO sj = new SungJukVO(sc.next(),sc.nextInt(),sc.nextInt(),sc.nextInt());
		
		//입력받은 데이터를 성적테이블에 저장
		sjsrv.newSungJuk(sj);
	} // 성적데이터 입력받아 성적테이블에 저장
	
	public static void showSungJuk(JDBCSungJuk sjsrv){
		System.out.println(sjsrv.readsSungJuk());
		
	} // 성적테이블에에 저장된 성적데이터 모두 출력
	
	public static void modifySungJuk(JDBCSungJuk sjsrv,Scanner sc){
		showSungJuk(sjsrv);
		System.out.println(MODMSG1);
		String sjno = sc.next();
		System.out.println(MODMSG2);
		SungJukVO sj = new SungJukVO(sc.next(), sc.nextInt(), sc.nextInt(), sc.nextInt());
		sjsrv.modifySungJuk(sj, sjno);
	}
	public static void removeSungJuk(JDBCSungJuk sjsrv,Scanner sc){
		showSungJuk(sjsrv);  //삭제하기 전에 전체자료를 먼저 출력
		System.out.println(DELMSG);
		String sjno = sc.next(); //삭제할 학생버놓 입력
		if(sjsrv.removeSungJuk(sjno)){
			System.out.println("성공적으로 데이터가 삭제되었습니다.");
		}else {
			System.out.println("데이터 삭제를 실패했습니다. 다시 확인해주세요.");
		}
		
	}
} //class






















